package com.jic.market.response.rest.coupon;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author wwb
 */
@ApiModel("领券中心返回实体类")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryCouponCenterResponse {

    @ApiModelProperty(notes = "优惠券活动id")
    private String promotionId;
    @ApiModelProperty(notes = "优惠券名称")
    private String promName;
    @ApiModelProperty(notes = "活动标签")
    private String labelName;
    @ApiModelProperty(notes = "使用范围 1:平台券 2:店铺券")
    private Integer couponPlatform;
    @ApiModelProperty(notes = "优惠券种类 0电子券 1实体券")
    private Integer couponType;
    @ApiModelProperty(notes = "优惠券使用用户类型,0全部,1新用户,2老用户")
    private Integer couponUsePersonType;
    @ApiModelProperty(notes = "金额抵扣类型,0商品券,1运费券,2代金券")
    private Integer amountDeductType;
    @ApiModelProperty(notes = "优惠方式,0金额券,1折扣券")
    private Integer couponMode;
    @ApiModelProperty(notes = "发行数量")
    private Long grantTotalNum;
    @ApiModelProperty(notes = "couponMode = 0 时 ，优惠券面值单位元 ; couponMode = 1时  优惠券折扣力度")
    private BigDecimal couponAmount;
    @ApiModelProperty(notes = "使用说明")
    private String chineseDesc;
    @ApiModelProperty(notes = "使用开始时间")
    private Date couponUseStartTime;
    @ApiModelProperty(notes = "使用结束时间")
    private Date couponUseEndTime;
    @ApiModelProperty(notes = "订单总金额限制单位元")
    private BigDecimal useTotalAmountLimit;
    @ApiModelProperty(notes = "用户领取总数限制")
    private Long idLimitNum;
    @ApiModelProperty(notes = "用户每日领取数量限制")
    private Long idLimitDayNum;
    @ApiModelProperty(notes = "用户可领取数量")
    private Long userAvailableNum;
    @ApiModelProperty(notes = "用户是否领取，1：已领取 2：未领取")
    private Integer isReceive;
    @ApiModelProperty(notes = "积分通兑规则值 x积分兑换1元 券面值*规则值")
    private BigDecimal pointsCouponNum;
    @ApiModelProperty(notes = "金额抵扣类型,0商品券,1运费券,2代金券,3话费抵用券")
    private String amountDeductTypeDesc;
}
